//
//  NSObject+ZBProperty.h
//  02-runtime获取类的信息
//
//  Created by apple on 2018/6/6.
//  Copyright © 2018年 apple. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface NSObject (ZBProperty)
/**
 获取当前类的属性列表
 @return 属性列表
 */
+ (NSArray *)zb_getPropertyList;

/**
 *  获取当前类的属性列表
 *  @param  onlyKey YES:紧紧返回key,NO:在key后面添加type  格式是key&type.
 */
+ (NSArray *)zb_getPropertyListWithonlyKey:(BOOL)onlyKey;

/**
 
 获取当前类的属性对应的类型
 @param name 属性名称
 @return 属性类型
 */
+ (NSString *)zb_getPropertyTypeWithPropertyName:(NSString *)name;



//自定义属性类型 - 常量类型的总称
UIKIT_EXTERN  NSString *const ZBPropertyTypeConstant;
//自定义属性类型 - id类型
UIKIT_EXTERN  NSString *const ZBPropertyTypeId;
//自定义属性类型 - SEL类型
UIKIT_EXTERN  NSString *const ZBPropertyTypeSEL;
//自定义属性类型 - Block类型
UIKIT_EXTERN  NSString *const ZBPropertyTypeBlock;
//自定义属性类型 - Class类型
UIKIT_EXTERN  NSString *const ZBPropertyTypeClass;
//自定义属性类型 - Char类型
UIKIT_EXTERN NSString *const ZBPropertyTypeChar;
//自定义属性类型 - 不识别类型
UIKIT_EXTERN NSString *const ZBPropertyTypeUnknow;
@end
